With the advent of the Internet and other communication networks, communication between remotely disposed computing devices has become ubiquitous. Often, communication is in the form of a data representation language message, such as an Extensible Markup Language (XML) message. Devices often generate, process, validate, encode and decode such messages in accordance with interfacing definitions associated with the messages, such as XML schemas.
Interfacing definitions often change to meet evolving requirements. Also, different devices may utilize disparate interfacing definitions or differing versions of the same interfacing definition. These disparities in the interfacing definitions available to communicating devices requires manual configuration of the interfacing definitions used between every pair of communicating devices. Also, interfacing definitions are often locally modified, leading to confusion in determining whether two devices share a common interfacing definition. When the interface definitions are used to facilitate binary encoding, this can cause system failure (i.e., a system can't use a schema to decode the message that is different from the one used to encode it.)